home *** CD-ROM | disk | FTP | other *** search
- //--------------------------------------------------------------
- //
- // WINDEF.H
- //
- // Basic Windows Type Definitions
- //
- // Visual dBASE Samples Group
- //
- // $Revision: 1.4 $
- //
- // Portions copyright (c) 1985-1995, Microsoft Corp.
- //
- //--------------------------------------------------------------
-
- #ifndef _WINDEF_
- #define _WINDEF_
-
- // These can be used to include only part of the
- // WIN32API.PRG file.
- //
-
- #define WIN32API_ALLSECTIONS 0xFFFFFFFF
- #define WIN32API_KERNEL 0x00000001
- #define WIN32API_USER 0x00000002
- #define WIN32API_GDI 0x00000004
- #define WIN32API_ADVAPI 0x00000008
- #define WIN32API_SHELL 0x00000010
- #define WIN32API_INIFILE 0x00000020
- #define WIN32API_REGISTRY 0x00000040
- #define WIN32API_DIALOG 0x00000080
- #define WIN32API_NETWORK 0x00000100
-
- #define ULONG CULONG
- #define PULONG CPTR CULONG
- #define USHORT CUSHORT
- #define PUSHORT CPTR CSHORT
- #define UCHAR CUCHAR
- #define PUCHAR CPTR
- #define PSZ CSTRING
-
- #define MAX_PATH 260
-
- #define CFALSE 0
- #define CTRUE 1
-
- #define DWORD CULONG
- #define BOOL CLOGICAL
- #define BYTE CUCHAR
- #define WORD CUSHORT
- //#define FLOAT CFLOAT // Conflicts with FLOAT()
-
- #define PFLOAT CPTR CFLOAT
- #define PBOOL CPTR CLONG // Should be CLOGICAL
- #define LPBOOL CPTR CLONG // Should be CLOGICAL
- #define PBYTE CPTR
- #define LPBYTE CPTR
- #define PINT CPTR CINT
- #define LPINT CPTR CINT
- #define PWORD CPTR CUSHORT
- #define LPWORD CPTR CUSHORT
- #define LPLONG CPTR CLONG
- #define PDWORD CPTR DWORD
- #define LPDWORD CPTR DWORD
- #define PVOID CPTR
- #define LPVOID CPTR
- #define LPCVOID CPTR
-
- // #define INT CINT // Can't use INT, conflicts with INT()
- #define UINT CUINT
- #define PUINT CPTR CUINT
-
-
- //
- // BUILD Version: 0093 Increment this if a change has global effects
- //
- // Copyright (c) 1990-1995 Microsoft Corporation
- //
- // Module Name:
- //
- // winnt.h
- //
- // Abstract:
- //
- // This module defines the 32-Bit Windows types and constants that are
- // defined by NT, but exposed through the Win32 API.
- //
- //
-
- //
- // Basics
- //
-
- #define VOID CVOID
- #define CHAR CCHAR
- #define SHORT CSHORT
- #define LONG CLONG
-
- #define WCHAR CSHORT
- #define PWCHAR CPTR CSHORT
- #define LPWCH CPTR CSHORT
- #define PWCH CPTR CSHORT
- #define LPCWCH CPTR CSHORT
- #define PCWCH CPTR CSHORT
- #define NWPSTR CPTR CSHORT
- #define LPWSTR CPTR CSHORT
- #define PWSTR CPTR CSHORT
- #define LPCWSTR CPTR CSHORT
- #define PCWSTR CPTR CSHORT
-
- //
- // ANSI (Multi-byte Character) types
- //
- #define PCHAR CPTR
- #define LPCH CPTR
- #define PCH CPTR
- #define LPCCH CPTR
- #define PCCH CPTR
- #define NPSTR CSTRING
- #define LPSTR CSTRING
- #define PSTR CSTRING
- #define LPCSTR CSTRING
- #define PCSTR CSTRING
-
- //
- // Neutral ANSI/UNICODE types and macros
- //
-
- #define PTCHAR CPTR
- #define PTBYTE CPTR
- #define LPTCH LPSTR
- #define PTCH LPSTR
- #define PTSTR LPSTR
- #define LPTSTR LPSTR
- #define LPCTSTR LPCSTR
-
- #define PSHORT CPTR CSHORT
- #define PLONG CPTR CLONG
- #define HANDLE CHANDLE
- #define PHANDLE CPTR CUINT
-
- //#define CCHAR CCHAR
- #define LCID DWORD
- #define PLCID PDWORD
- #define LANGID WORD
-
- #define LONGLONG CDOUBLE
- #define DWORDLONG CDOUBLE
-
- #define PLONGLONG CPTR CDOUBLE
- #define PDWORDLONG CPTR CDOUBLE
-
- #define USN LONGLONG
-
- #define LARGE_INTEGER CPTR
- #define PLARGE_INTEGER CPTR
- #define ULARGE_INTEGER CPTR
- #define PULARGE_INTEGER CPTR
-
- #define LUID LARGE_INTEGER
- #define PLUID PLARGE_INTEGER
-
- #define SECURITY_INFORMATION DWORD
- #define PSECURITY_INFORMATION PDWORD
- // End winnt.h
-
- // Types use for passing & returning polymorphic values
- #define WPARAM UINT
- #define LPARAM LONG
- #define LRESULT LONG
-
- //
- // Cast macros added for Visual dBASE
- //
- #define CASTBYTE(a) (mod(a,2^8))
- #define CASTWORD(a) (mod(a,2^16))
- #define CASTLONG(a) (mod(a,2^32))
-
- #define MAKEWORD(a, b) (bitor(CASTBYTE(a),bitlshift(CASTBYTE(b), 8)))
- #define MAKELONG(a, b) (bitor(CASTWORD(a),bitlshift(CASTWORD(b),16)))
- #define LOWORD(l) (CASTWORD(l))
- #define HIWORD(l) (bitrshift(CASTLONG(l),16))
- #define LOBYTE(w) (CASTBYTE(w))
- #define HIBYTE(w) (bitrshift(CASTWORD(w),8))
-
- // #define HWND CHANDLE // conflicts with dBASE hWnd property
- #define CHWND CHANDLE // substitute for standard HWND
- #define HHOOK CHANDLE
-
- #define ATOM WORD
-
- #define SPHANDLE CPTR CUINT
- #define LPHANDLE CPTR CUINT
-
- #define HGLOBAL HANDLE
- #define HLOCAL HANDLE
- //#define GLOBALHANDLE HANDLE // Conflicts with API function name since
- //#define LOCALHANDLE HANDLE // Visual dBASE is not case sensitive
-
- #define FARPROC CPTR
- #define NEARPROC CPTR
-
- #define HGDIOBJ HANDLE
-
- #define HACCEL HANDLE
- #define HBITMAP HANDLE
- #define HBRUSH HANDLE
- #define HCOLORSPACE HANDLE
- #define HDC HANDLE
- #define HGLRC HANDLE
- #define HDESK HANDLE
- #define HENHMETAFILE HANDLE
- #define HFONT HANDLE
- #define HICON HANDLE
- #define PHICON CPTR
- #define HMENU HANDLE
- #define HMETAFILE HANDLE
- #define HINSTANCE HANDLE
- #define HMODULE HINSTANCE // HMODULEs can be used in place of HINSTANCEs
- #define HPALETTE HANDLE
- #define HPEN HANDLE
- #define HRGN HANDLE
- #define HRSRC HANDLE
- #define HSTR HANDLE
- #define HTASK HANDLE
- #define HWINSTA HANDLE
- #define HKL HANDLE
-
- #define HFILE CINT
- #define HCURSOR HICON // HICONs & HCURSORs are polymorphic
-
- #define COLORREF CULONG // DWORD
- #define LPCOLORREF CPTR CULONG
-
- //
- // Added for Visual dBASE
- //
- #define ENUM SHORT
- #define PSTRUCTURE CPTR
- #define LPSTRUCTURE CPTR
- #define va_list CPTR
- //
- // From WINGDI.H
- //
- #define PDEVMODEA LPSTRUCTURE
- #define LPDEVMODEA LPSTRUCTURE
- #define PDEVMODE LPSTRUCTURE
- #define LPDEVMODE LPSTRUCTURE
-
-
- // OTHERS
- #define LPRECT LPSTRUCTURE
- #define LPPOINT LPSTRUCTURE
-
- #endif // _WINDEF_
-